#pragma once 
#include <iostream>
#include <fstream>
#include <string>
#include<algorithm>
#include <vector>
#include <ctime>
#include <filesystem>
#include <set>
#include <map>
#include <variant>
#include "GeneralMethod.h"

using namespace std;
#define M_PI 3.1415926535

class ReadOP2
{
public:
public:
	static ReadOP2& getInstance() {
		static ReadOP2 inst;
		return inst;
	}
	void setInputFile(std::string fileName);
	void setOutputDir(std::string dirName);
	void setExeFilePath(std::string exePath);
	ReadOP2(const ReadOP2&) = delete;
	ReadOP2& operator=(const ReadOP2&) = delete;
	int writeVTKFile();
	int writeMSHFile();
private:
	ReadOP2() = default;
	std::string read_path;
	std::string op2_fileName;
	std::string vtu_fileName;
	std::string msh_fileName;
	std::string outDirpath;
	std::string exe_path;
};

